class Foo(object):
    def get_bar(self):
        print("getter...")
        return 'python'

    def set_bar(self, value):
        """必须两个参数"""
        print("setter...")
        return 'set value' + value

    def del_bar(self):
        print("deleter..del_bar.")

    BAR = property(get_bar, set_bar, del_bar, "description...描述")


obj = Foo()

print(obj.BAR)  # 自动调用第一个参数中定义的方法：get_bar
print('-' * 50)
obj.BAR = "halon"  # 自动调用第二个参数中定义的方法：set_bar方法，并将“halon”当作参数传入
print(obj.BAR)  # 自动调用第一个参数中定义的方法：get_bar
print('-' * 50)
desc = Foo.BAR.__doc__  # 自动获取第四个参数中设置的值：description...
print(desc)
print('-' * 50)
